package com.audaque.springboot.foshanupload.casclientautoconfigsupport.strategy;

import java.util.regex.Pattern;

import org.jasig.cas.client.authentication.UrlPatternMatcherStrategy;
/**
 * 自定义鉴权路径
 * 用于过滤掉不需要授权登录的页面
 * @author yesen
 *
 */


public class AuthenticationIgnoreUrlPatternTypeMatcherStrategy implements UrlPatternMatcherStrategy {

	private Pattern pattern;

	@Override
	public boolean matches(String url) {

		//在此可以做额外的扩展,比如判断是insert也放行 可以通过查询数据库来进行动态判断
		if(url.contains("/insert")){
			return true;
		}

		//默认是根据cas.ignore-pattern来判断是否否满足过滤,使用正则表达式来匹配需要忽略的连接
		return this.pattern.matcher(url).find();
	}

	/**
	 * 正则表达式的规则
	 * starter: 在application.properties中配置的cas.ignore-pattern
	 * 非starter：在配置AuthenticationFilter的ignorePattern中设置
	 * @param pattern
	 */
	@Override
	public void setPattern(String pattern) {
		this.pattern = Pattern.compile(pattern);
	}
}
